AAD ASCII-коррекция при делении

Флаги

O D I T S Z A P C
?       * * ? * ?

Команда:

AAD

Логика:

AL = AH * 10 + AL
AH = 0 

AAD переводит двухзначное число, представленное в неупакованном формате в регистре AX, из двоично-десятичного кода в двоичный, готовя число к выполнению операций деления DIV или IDIV, которые обрабатывают двоичные числа быстрее.

Операнды Такт байты (слова)ОбращенияБайтыПример
нет операндов60 - 2AAD

AAD преобразует числитель в AL таким образом, чтобы результат деления был представлен числом в двоично-десятичном коде. Для того, чтобы последующая операция деления DIV давала правильный результат, необходимо, чтобы AH=0. После деления частное заносится в AL, а остаток - в AH.

Примечания:
В неупакованном двоично-десятичном коде каждому байту соответствует одна цифра, и AH содержит более значащую цифру, а AL - менее значащую.

Hosted by uCoz